import { apiClient } from '@/api/doctor'

/**
 * 测试工作流相关 API 功能
 */
export const testWorkflowAPI = async () => {
  console.log('开始测试工作流 API...')

  try {
    // 测试获取服务类型列表
    console.log('1. 测试获取服务类型列表...')
    const serviceTypesResult = await apiClient.get('/api/WorkflowGetServiceTypes')
    console.log('获取服务类型列表成功:', serviceTypesResult.data)

    if (serviceTypesResult.data.code === 100 && serviceTypesResult.data.data.length > 0) {
      const serviceTypeIds = serviceTypesResult.data.data.map((st: any) => st.id).slice(0, 3) // 取前3个服务类型
      
      // 测试创建工作流
      console.log('2. 测试创建工作流...')
      const createResult = await apiClient.post('/api/WorkflowCreateWorkflow', {
        doctorId: 1, // 假设医生ID为1
        serviceTypeIds: serviceTypeIds
      })
      console.log('创建工作流成功:', createResult.data)

      if (createResult.data.code === 100) {
        const workflowId = createResult.data.data.id
        
        // 测试获取工作流详情
        console.log('3. 测试获取工作流详情...')
        const detailResult = await apiClient.get('/api/WorkflowGetWorkflowById', {
          params: {
            id: workflowId
          }
        })//workflowAPI.getWorkflowById(workflowId)
        console.log('获取工作流详情成功:', detailResult.data)

        // 测试更新工作流步骤
        if (detailResult.data.code === 100 && detailResult.data.data.steps.length > 0) {
          console.log('4. 测试更新工作流步骤...')
          const firstStep = detailResult.data.data.steps[0]
          const updateResult = await apiClient.put('/api/WorkflowUpdateWorkflowStep', {
            stepId: firstStep.id,
            auditStatus: '审核通过',
            remarks: '测试审核通过',
            auditor: '测试审核员'
          })
          console.log('更新工作流步骤成功:', updateResult.data)
        }
      }
    }

    // 测试获取工作流列表
    console.log('5. 测试获取工作流列表...')
    const listResult = await apiClient.get('/api/WorkflowGetWorkflowList', {
      params: {
        pageIndex: 1,
        pageSize: 10
      }
    })
    console.log('获取工作流列表成功:', listResult.data)

    console.log('所有工作流 API 测试完成！')
  } catch (error) {
    console.error('工作流 API 测试失败:', error)
  }
}

// 在开发环境中自动运行测试
if (import.meta.env.DEV) {
  // 延迟执行，确保API服务已启动
  setTimeout(() => {
    testWorkflowAPI()
  }, 2000)
} 